Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ схСмотСхники. Π’ΠΎΠΌ 2 [Изд.4-Π΅]Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 86

Автор ΠŸΠ°ΡƒΠ»ΡŒ Π₯ΠΎΡ€ΠΎΠ²ΠΈΡ†

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ с трСмя состояниями ΠΈΠ»ΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ пСрСвСсти Π² ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ΅ состояниС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ магистрали Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ устройство Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. КаТдая Π­Π’Πœ придСрТиваСтся Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ устройство выставляСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ³Π΄Π°. Если этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ бСспорядок, ΠΊΠΎΠ³Π΄Π° всС ΠΊΡ€ΠΈΡ‡Π°Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. (ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡΠΊΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄ΡƒΡˆΠ΅Π²ΠΈΡ‚ΡŒ свои Π­Π’Πœ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠ·Π»Ρ‹. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΈΠ΄ΡƒΡ‚ дальшС ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ с ΠΆΠΈΠ²Ρ‹ΠΌΠΈ с Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ логичСскими схСмами. ΠœΡ‹, СстСствСнно, Π±ΡƒΠ΄Π΅ΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этой Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ.)

Π‘Ρ€Π΅Π΄ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… магистралСй ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² сущСствуСт ΠΎΠ΄Π½ΠΎ интСрСсноС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ синхронными, Π»ΠΈΠ±ΠΎ асинхронными, Π² популярных ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°Π³ΠΈΡΡ‚Ρ€Π°Π»ΡŒ.

ΠœΡ‹ вСрнСмся ΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌΡƒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ магистрали с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… интСрфСйсов, рассматривая популярноС сСмСйство IBM PC/XT. Однако сначала Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ ЦП.

Набор ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° 

10.02. Π―Π·Ρ‹ΠΊ ассСмблСра ΠΈ язык ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ²

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ сигналы магистрали ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ЦП Π²ΠΎ врСмя выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. БоотвСтствСнно Π½Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ читатСля с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ сСмСйства IBM PC/XT. К соТалСнию, Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… микропроцСссоров ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΊ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡŽ, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΡƒΡŽΡΡ услоТнСниСм, наряду с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, ΠΈ МП Intel 8086 Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Однако ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нашСй Ρ†Π΅Π»ΡŒΡŽ являСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ сигналов магистрали ΠΈ функционирования ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (Π° Π½Π΅ ΠΈΠ·ΠΎΡ‰Ρ€Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅), рассмотрим сокращСнный Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ β€” подмноТСство Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ МП 8086. Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΠ² «лишниС» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΌΡ‹ Ρ‚Π΅ΠΌ самым Ρ€Π΅ΡˆΠ°Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ подмноТСства понятных ΠΊΠΎΠΌΠ°Π½Π΄, достаточных для программирования любой Π·Π°Π΄Π°Ρ‡ΠΈ. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ этот Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² функционирования Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ части ΠΈ программирования. Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ идСю программирования Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ программирования Π½Π° Ρ‚Π°ΠΊΠΈΡ… языках высокого уровня, ΠΊΠ°ΠΊ

Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ ΠΈΠ»ΠΈ Π‘ΠΈ. НСсколько слов ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ языка ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² ΠΈ языка ассСмблСра. Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ЦП ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… слов Π² качСствС ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ выполнСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π’Π°ΠΊΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π±Π°ΠΉΡ‚. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° инкрСмСнтирования (увСличСния Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ) содСрТимого рСгистра ЦП Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² рСгистр содСрТимого памяти ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²ΡƒΡ… Π±Π°ΠΉΡ‚, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ это число ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΎ Π΄ΠΎ пяти (ΠΏΡ€ΠΈ этом ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ собствСнно ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ рСгистр, Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для указания ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ ячСйки памяти для большой ΠΌΠ°ΡˆΠΈΠ½Ρ‹). ΠŸΠ΅Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ нашСй Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ языки ΠΈ здСсь Π½Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ стандартизации.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ нСпосрСдствСнно Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄Π°Ρ… являСтся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ тоскливым занятиСм, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… чисСл, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сущСствСнСн. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ассСмблСром; ΠΎΠ½Π° позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹Π΅ мнСмоничСскиС обозначСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ сами для ячССк ΠžΠ—Π£ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС ассСмблСра Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅, Ρ‡Π΅ΠΌ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… Π½Π° ΡˆΠΈΡ„Ρ€ строк, содСрТащих Π±ΡƒΠΊΠ²Ρ‹ ΠΈ числа; Π΅Π΅ слСдуСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Β«Π² Ρ€ΡƒΠΊΠΈΒ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ассСмблСр, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² машинном ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ[3]. КаТдая строка ассСмблСрного ΠΊΠΎΠ΄Π° прСвращаСтся Π² нСсколько Π±Π°ΠΉΡ‚ машинного ΠΊΠΎΠ΄Π° (1–6 Π±Π°ΠΉΡ‚ для МП Intel 8086). НСпосрСдствСнно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° языкС ассСмблСра ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ Π² состоянии.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ высказанныС сообраТСния, рассмотрим нашС подмноТСство ΠΊΠΎΠΌΠ°Π½Π΄ языка ассСмблСра МП Intel 8086/8 ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².


10.03. Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ процСссора Intel 8086/8

Intel 8086 β€” это 16-разрядный процСссор с Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ ΠΈ нСсколько своСобразным Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ отчасти обусловлСна стрСмлСниСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с 8-разрядным МП Intel 8080 Ρ€Π°Π½Π½Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ МП Intel 80286 ΠΈ 80386, всС Π΅Ρ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ МП Intel 8086. Π’ΠΎΠΎΡ€ΡƒΠΆΠΈΠ²ΡˆΠΈΡΡŒ подходящим ΠΌΠ°Ρ‡Π΅Ρ‚Π΅, выбСрСмся ΠΈΠ· Π΄ΠΆΡƒΠ½Π³Π»Π΅ΠΉ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄, сохранив лишь Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ сСйчас 10 арифмСтичСских ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ 11 ΠΏΡ€ΠΎΡ‡ΠΈΡ…. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ:




ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€. НСкоторыС пояснСния: ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΡˆΠ΅ΡΡ‚ΡŒ арифмСтичСских ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΏΠ°Ρ€Π°ΠΌΠΈ чисСл (2-Ρ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°ΠΊ Π¬, Π° ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· пяти ΠΏΠ°Ρ€, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΈ; ΠΏΡ€ΠΈ этом m ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ содСрТимоС ячСйки памяти, r ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ содСрТимоС рСгистра ЦП (ΠΈΡ… 8), a imm β€” нСпосрСдствСнный Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой число, располагаСмоС Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΡ‚ 1 Π΄ΠΎ 4 Π±Π°ΠΉΡ‚ памяти. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

MOV count,CX

ADD small,02H

AND AX,007FH

ΠΈΠΌΠ΅ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² m, r, m, imm, r, imm соотвСтствСнно. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС рСгистра Π‘Π₯ Π² ячСйку памяти, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡƒΡŽ count; вторая прибавляСт 2 ΠΊ содСрТимому Π΄Ρ€ΡƒΠ³ΠΎΠΉ ячСйки памяти, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΠΎΠΉ small; Ρ‚Ρ€Π΅Ρ‚ΡŒΡ обнуляСт 9 ΡΡ‚Π°Ρ€ΡˆΠΈΡ… разрядов 16-разрядного рСгистра АΠ₯, сохраняя ΠΏΡ€ΠΈ этом 7 ΠΌΠ»Π°Π΄ΡˆΠΈΡ… разрядов Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ (Ρ‚Π°ΠΊ называСмая опСрация маскирования). ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ принятоС Ρ„ΠΈΡ€ΠΌΠΎΠΉ Intel соглашСниС ΠΎ порядкС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ замСщаСтся Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ»ΠΈ модифицируСтся Π½Π° основС значСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. (Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Motorola прСдписываСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ порядок дСйствий).

ПослСдниС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ содСрТимым Π»ΠΈΠ±ΠΎ рСгистра, Π»ΠΈΠ±ΠΎ ячСйки памяти. Π’ΠΎΡ‚ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

INC count

NEG AL

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° прибавляСт 1 ΠΊ ячСйкС памяти, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΠΎΠΉ count, Π° вторая измСняСт Π·Π½Π°ΠΊ содСрТимого рСгистра AL.

ЛиричСскоС отступлСниС: адрСсация. ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ, нСсколько слов ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ адрСсации рСгистров ΠΈ памяти. ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ Intel 8086 ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 8 Π΅Π³ΠΎ рСгистров ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΎΠ΄Π½Π°ΠΊΠΎ послС изучСния рис. 10.2 Π²Ρ‹ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚Π΅ ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих рСгистров ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСцифичСски.



Рис. 10.2. РСгистры ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния МП 8086.


Π§Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΈΠ· Π½ΠΈΡ… (A-D) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½Ρ‹Ρ… 16-разрядных рСгистров (АΠ₯, Π³Π΄Π΅ X ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ extended β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ), Ρ‚Π°ΠΊ ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… рСгистров [АН, AL, соотвСтствСнно Ξ— ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ (high) Π±Π°ΠΉΡ‚ рСгистра АΠ₯, a AL- младший (low) Π±Π°ΠΉΡ‚]. РСгистры Π’Π₯ ΠΈ Π’Π , Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ SI, DI, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ адрСса ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для использования ΠΏΡ€ΠΈ адрСсации (см. Π½ΠΈΠΆΠ΅). Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ цикличСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΈΠ· нашСго ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ³ΠΎ пСрСчня) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ рСгистр Π‘, Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ умноТСния/дСлСния ΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ рСгистры А ΠΈ D.

Π”Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой константу, Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² рСгистрС ΠΈΠ»ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽΡΡ Π² памяти. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅, просто записывая ΠΈΡ…, Π° рСгистры - ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ, Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅. Для адрСсации памяти МП Intel 8086 обСспСчиваСт 6 Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² адрСсации, Ρ‚Ρ€ΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… пояснСны схСмами Π½Π° рис. 10.3.



Рис. 10.3. НСкоторыС способы адрСсации.


Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ прямо ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π² этом случаС Π΅Π΅ адрСс ΠΏΡ€ΠΈ ассСмблировании Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€ΠΎΠΉ Π±Π°ΠΉΡ‚ΠΎΠ², ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… сразу ΠΆΠ΅ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ; Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ занСсти адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· рСгистров, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для адрСсации (Π’Π₯, Π’Π , SI ΠΈΠ»ΠΈ DI), Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдусмотрСна косвСнная адрСсация Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСгистр; ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ послСдний Ρ€Π΅ΠΆΠΈΠΌ адрСсации ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ адрСс ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, прибавляя константу смСщСния ΠΊ содСрТимому рСгистра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для адрСсации. ΠšΠΎΡΠ²Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ быстрСС (Π² ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ адрСс ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСгистр) ΠΈ являСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ мноТСством чисСл (строкой ΠΈΠ»ΠΈ массивом).